which macro number
    lea dx, month&number
endm
data SEGMENT
    month1 db "January$"
    month2 db "February$"
    month3 db "March$"
    month4 db "April$"
    month5 db "May$"
    month6 db "June$"
    month7 db "July$"
    month8 db "August$"
    month9 db "Sepetember$"
    month10 db "October$"
    month11 db "November$"
    month12 db "December$"
    months dw \
        month1,month2,month3,\
        month4,month5,month6,\
        month7,month8,month9,\
        month10,month11,month12
data ENDS
code SEGMENT
    assume ds:data, cs:code
start:
    mov ax, data
    mov ds, ax
    mov ah, 1
    int 21h
    cmp al, 13
    je start
    cmp al, '1'
    jl exit
    jg two_to_nine
    int 21h
    cmp al, 13
    je one
    cmp al, '0'
    jl exit
    cmp al, '2'
    jg exit
    sub al, 39
    jmp result
one:
    mov al, 0
    jmp result
two_to_nine:
    cmp al, '9'
    jg exit
    sub al, '1'
result:
    inc al
    which %al
    ; lea di, months
    ; shl al, 1
    ; mov ah, 0
    ; add di, ax
    ; mov dx, [di]
    mov ah, 9
    int 21h
    mov ah, 2
    mov dl, 10
    int 21h
    jmp start
exit:
    mov ax, 4c00h
    int 21h
code ENDS
end start